import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Funnel

# 把数据加载到列表data中
data = pd.read_excel('../Data/某淘宝店铺的订单转化率统计数据.xlsx')

#创建列表x/y_data分别存储网购环节和人数
x_data = data['网购环节'].tolist()
y_data = data['人数'].tolist()

#将x/y_data合并为一个子列表到data列表中
data = [[x_data[i], y_data[i]] for i in range(len(x_data))]


funnel = (Funnel()
            #名称
          .add('',#提示框添加文本
                #添加数据
                data_pair=data,
                #position='inside'字体在元素内，formatter='{b}:{d}% 输出文本为：[x_data[i], y_data[i]]
                label_opts=opts. LabelOpts(position='inside', formatter='{b}:{d}%'),
                #表示每个元素之间的间隔
                gap=10,
                #是否显示提示框组件，'item': 数据项图形触发，'none': 什么都不触发
                tooltip_opts=opts.TooltipOpts(trigger='item'),

                #设置元素边框样式(颜色和大小)
                itemstyle_opts=opts.ItemStyleOpts(border_color='#fff', border_width=1))


          .set_global_opts(
                 # 设置标题名称
                 title_opts=opts.TitleOpts(title='Test某淘宝店铺的订单转化率漏斗图'),
                 #图例组件离容器左侧的距离
                 legend_opts=opts.LegendOpts(pos_left='40%')))

funnel.render("./html_Temp/Demo02Test.html")
